package com.hsnn.medstgmini.pro.project.service.impl;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.hsnn.medstgmini.base.std.model.StdCompgroup;
import com.hsnn.medstgmini.base.std.model.StdCompinfo;
import com.hsnn.medstgmini.model.Status;
import com.hsnn.medstgmini.pro.project.dao.BidProjCompanyDao;
import com.hsnn.medstgmini.pro.project.model.BidProjCompany;
import com.hsnn.medstgmini.pro.project.model.BidProject;
import com.hsnn.medstgmini.pro.project.model.form.BidProjCompanyForm;
import com.hsnn.medstgmini.pro.project.service.BidProjCompanyManager;
import com.hsnn.medstgmini.util.Pagination;

@Service
public class BidProjCompanyManagerImpl implements BidProjCompanyManager {
	
	@Autowired
	private BidProjCompanyDao bidProjCompanyDao;
	
	/**
	 * @category 已添加配送企业列表
	 * @author 张俊
	 * @date 2015年6月24日15:43:20
	 * @param page
	 * @param bidProjCompany
	 * @return 已添加配送企业列表
	 */
	public List<BidProjCompanyForm> getBidProjCompanyList(Pagination page, BidProjCompany bidProjCompany, StdCompinfo stdCompinfo, StdCompgroup stdCompgroup, BidProject bidProject) {
		
		List<Object> objlist = bidProjCompanyDao.getBidProjCompanyList(page, bidProjCompany, stdCompinfo, stdCompgroup, bidProject);
		if (null != objlist && objlist.size() > 0) {
			List<BidProjCompanyForm> flist = new ArrayList<BidProjCompanyForm>();
			
			for (int i = 0; i < objlist.size(); i++) {
			    Object[] obj = (Object[]) objlist.get(i);
				
				BidProjCompanyForm form = new BidProjCompanyForm();
				form.setCompCode(obj[0] == null ? "" : obj[0].toString());
				form.setCompName(obj[1] == null ? "" : obj[1].toString());
				form.setCompShortName(obj[2] == null ? "" : obj[2].toString());
				form.setCompGroupName(obj[3] == null ? "" : obj[3].toString());
				form.setStatusText(obj[4] == null ? "" : obj[4].toString().trim().equals("") ? "" : Status.getName(Integer.valueOf(obj[4].toString())));
				flist.add(form);
			}
			return flist;
		}
		return null;
		
	}
	
	/**
	 * @category 启用|停用
	 * @param bidProjCompany
	 * @return
	 */
	public void changeStatus(BidProjCompany bidProjCompany) {
		bidProjCompanyDao.changeStatus(bidProjCompany);
	}

	/**
	 * @category 批量(启用|停用)
	 * @param array
	 * @return
	 */
	public void batchChangeStatus(List<BidProjCompany> list) {
		bidProjCompanyDao.batchChangeStatus(list);
	}

	/**
	 * @category 获取配送企业数据
	 * @author 韩守松
	 * @date   2015年6月16日
	 * @param  @param page
	 * @param  @param bidProjCompany
	 * @param  @return
	 */
	@Override
	public List<BidProjCompany> getBidProjCompanyList(Pagination page, BidProjCompany bidProjCompany) {
		return bidProjCompanyDao.getBidProjCompanyList(page, bidProjCompany);
	}

	/* (non-Javadoc)
	 * @see com.hsnn.medstgmini.pro.project.service.BidProjCompanyManager#getBidProjCompanyList(com.hsnn.medstgmini.util.Pagination)
	 */
	@Override
	public List<Object> getBidProjCompanyList(Pagination page) {
		return bidProjCompanyDao.getBidProjCompanyList(page);
	}

	/* (non-Javadoc)
	 * @see com.hsnn.medstgmini.pro.project.service.BidProjCompanyManager#getAllBidProjCompanyList(com.hsnn.medstgmini.util.Pagination)
	 */
	@Override
	public List<Object> getAllBidProjCompanyList(Pagination page) {
		return bidProjCompanyDao.getAllBidProjCompanyList(page);
	}
	
	/**
	 * @category 获取项目中有效的配送企业
	 * @date 2015年11月19日
	 * @param page
	 * @return
	 */
	public Pagination getProjCompList(Pagination page) {
		return bidProjCompanyDao.getProjCompList(page);
	}
	
}
